Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Mi trovavo a scrivere una calcolatrice in TurboPascal... Provando a compilare mi restituisce "Error in resource file".
Sapete dire cos'è sbagliato? Posto il codice:
Codice sorgente - presumibilmente Delphi
{Developed by - C. Luca - 13/01/09 - ITIS Max Planck}
program Calcolatrice;
uses crt;
begin
var n1, n2, ris :real;
var op, s1 :char;
start:
clrscr;
writeln('Benvenuto in: Calcolatrice');
writeln;
writeln('Inserisci il primo numero: ');
readln(n1);
writeln;
writeln('Inserisci l''operatore (+, -, *, /): ');
readln(op);
writeln;
writeln('Inserisci il secondo numero: ');
readln(n2);
if op ='+'then
begin
ris = n1 + n2;
writeln('Il risultato è: ');
write(ris);
writeln;
end
if op ='-'then
begin
ris = n1 - n2;
writeln('Il risultato è: ');
write(ris);
writeln;
end
if op ='*'then
begin
ris = n1 * n2;
writeln('Il risultato è: ');
write(ris);
writeln;
end
if op ='/'then
begin
ris = n1 / n2;
writeln('Il risultato è: ');
write(ris);
writeln;
end
if op <> '+'OR'-'OR'*'OR'/'then
begin
writeln('Hai inserito dati sbagliati...');
writeln;
goto start;
end
writeln;
writeln('Inserisci ''Q'' o ''E'' per continuare...');
readln(s1);
if s1 ='Q'OR'q'then
begin
end.
end
if s1 ='E'OR'e'then
begin
goto start;
end
end.
Grazie
Ultima modifica effettuata da Luk3 il 13/01/2009 alle 21:04
Non ho qui il turbo pascal, senti ti da l'errore su una riga in particolare? (è molto che non programmno in Pascal, non ricordo che tipo di errore sia purtroppo).
si.. gli errori sono parecchi di forma sintattica.. (forse vieni da un altro linguaggio)
cmq prima di tutto quando si fa una assegnazione ci va il := e non l'= e basta
perché l'= si usa dentro ad una condizione if then per fare una valutazione
se tu devi settare il valore 3 alla variabile x allora fai:
x:=3;
se invece devi controllare se dentro alla variabile x c'è il valore 3 fai:
if x=3 then ...
poi altri errori sono che non hai messo il punto e virgola alla fine di qualche end
poi altri errori sono che quando dentro ad un costrutto if then metti degli operatori logici come l'or o l'and ecc devi racchiudere tra parentesi ogni elemento e se devi verificare le diversità tra due cose, le devi riscrivere ogni volta... in pratica la riga:
if op <> '+' or '-' or '*' or '/' then
deve diventare
if (op <> '+') or (op <>'-') or (op <>'*') or (op <>'/') then
e cosi tutte le altre
ah.. un altra cosa è che la dichiarazione delle variabili va fatta assolutamente fuori da tutti i begin..
cioè devi mettere var a,b,c ecc.. subito dopo il uses crt e non dopo il begin...
A parte gli errori sintattici, non è meglio usare un semplice repeay unitl???? poi non so se diventi troppo banale perchè io il programma l'ho fatto anche se in modo diverso...